package com.nbst.dao.mapper.mes;

import java.util.List;
import java.util.Map;

import com.nbst.dao.base.mapper.BaseMapper;
import com.nbst.model.mes.AutoRep;
import com.nbst.model.mes.DispatchedWorkers;
import com.nbst.model.mes.DispatchedWorkersSub;

/**
 * @ClassName: DispatchedWorkersMapper
 * @Description: 派工表Mapper层
 * @author: HuXinshuai
 * @date: 2018年10月18日 下午12:44:07
 * @Copyright: 宁波沙塔. All rights reserved.
 */
public interface DispatchedWorkersMapper extends BaseMapper<DispatchedWorkers> {

	List<Map<String, Object>> find(Map<String, Object> map);

	/**
	 * 根据员工卡号查询该员工未完成的派工工序id
	 *
	 * @param fWorker
	 * @return List<Integer>
	 * @author King
	 * @date 2019年1月16日
	 */
	List<Integer> findByCardId(Map<String, Object> map);

	/**
	 * 根据工序流转卡id查询该工序指派给哪些设备
	 *
	 * @param fCardId
	 * @return List<Map<String,Object>>
	 * @author King
	 * @date 2019年1月21日
	 */
	List<Map<String, Object>> getMac(Integer fCardId);

	/**
	 * 根据物料申请单id修改派工单已领料数与已领料状态
	 *
	 * @param map
	 * @return int
	 * @author King
	 * @date 2019年3月4日
	 */
	int updateOutStockQty(Integer id);

	List<AutoRep> findAutoRep();

	/**
	 * 获取第一道工序派工后派工单的发料状态为未发料的派工信息
	 *
	 * @return List<DispatchedWorkers>
	 * @author King
	 * @date 2019年4月15日
	 */
	List<DispatchedWorkers> getNotOutStockDispatchList();

	/**
	 * 根据物料申请单id查询该派工单是否已完成领料
	 *
	 * @param id
	 * @return Integer
	 * @author King
	 * @date 2019年4月17日
	 */
	Integer dispatchIsOutStock(Integer id);

	/**
	 * 任务单派工汇总(第一道工序的汇总)
	 *
	 * @param map
	 * @return List<Map<String,Object>>
	 * @author King
	 * @date 2019年4月25日
	 */
	List<Map<String, Object>> fIcmoDisPatchSummary(Map<String, Object> map);

	/**
	 * 任务单派工数量汇总(第一道工序的汇总)
	 *
	 * @param map
	 * @return Double
	 * @author King
	 * @date 2019年4月25日
	 */
	Double sumIcmoDisPatchSummaryQty(Map<String, Object> map);

	List<Map<String, Object>> notFinishDisPatchSummary(Map<String, Object> map);

	/**
	 * 查询派工单号是否有重复
	 *
	 * @param fCode
	 * @return Integer
	 * @author King
	 * @date 2019年4月28日
	 */
	Integer checkDoubleCode(String fCode);

	Integer deleteDarwing(Map<String, Object> map);

	Integer insertDarwing(Map<String, Object> map);

	List<Map<String, Object>> findDarwing(Map<String, Object> map);

	List<Map<String, Object>> findBatchDis(Map<String, Object> map);

	List<Map<String, Object>> getOrdinaryProdList(Map<String, Object> map);

	/**
	 * 根据物料申请单的ID获取相应的派工单号
	 *
	 * @param map
	 * @return
	 */
	String findFCode(Map<String, Object> map);

	List<DispatchedWorkers> findByCondition1(Map<String, Object> map);

	/**
	 * 根据派工单id增加1次派工单打印次数,
	 *
	 * @param id
	 * @return int
	 * @author King
	 * @date 2019年8月28日
	 */
	int updatePrintNum(Integer id);

	/**
	 * 根据物料申请单查询派工数量
	 *
	 * @param fApplyId
	 * @return Double
	 * @author King
	 * @date 2019年12月10日
	 */
	Double findByAppId(Integer fApplyId);

	List<Map<String, Object>> disPatchedTZList(Map<String, Object> map);

	/**
	 * 获取派工单信息
	 *
	 * @return List<Map<String,Object>>
	 * @author King
	 * @date 2020年3月12日
	 */
	List<Map<String, Object>> getDisList();

	/**
	 * 根据条件获取派工单信息
	 *
	 * @param map
	 * @return List<DispatchedWorkers>
	 * @author King
	 * @date 2020年4月2日
	 */
	List<DispatchedWorkers> disPatchList(Map<String, Object> map);

	/***/
	List<Integer> getDispatchId();

	/**
	 * 根据条件获取待开工信息
	 *
	 * @param map
	 * @return List<DispatchedWorkers>
	 * @author King
	 * @date 2020年4月2日
	 */
	List<DispatchedWorkers> findByStartWork(Map<String, Object> map);

	List<Map<String, Object>> getBI(Map<String, Object> map);

	List<Map<String, Object>> getBI1(Map<String, Object> map);

	List<Map<String, Object>> getBI2(Map<String, Object> map);
	
	List<Map<String, Object>> getBI3(Map<String, Object> map);
	
	List<Map<String, Object>> getBI4(Map<String, Object> map);

	List<Map<String, Object>> getBI5(Map<String, Object> map);
	
	List<Map<String, Object>> getBI6(Map<String, Object> map);
	
	List<Map<String, Object>> getBI7(Map<String, Object> map);
	
	List<Map<String, Object>> getBI8(Map<String, Object> map);
	
	List<Map<String, Object>> getBI9(Map<String, Object> map);
	
	List<Map<String, Object>> getBI10(Map<String, Object> map);
	
	List<Map<String, Object>> getBI11(Map<String, Object> map);

	List<Map<String, Object>> getjhwcl(Map<String, Object> map);

	List<Map<String, Object>> getjhwclmx(Map<String, Object> map);
	
	List<Map<String, Object>> getmx(Map<String, Object> map);

	DispatchedWorkersSub getEndPrintCard(Map<String, Object> map);

}